home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xntp.idb / usr / freeware / doc / xntp / hints / sgi.z / sgi
Encoding:
Text File  |  1999-01-26  |  2.8 KB  |  75 lines

  1. adjtime, tick and tickadj:
  2. --------------------------
  3.  
  4. The SGI value for HZ is 100 under Irix 4, with the system clock running
  5. in nominal mode (ftimer off), so the value for tick is 10000 usec.
  6. Tickadj is a bit more tricky because of the behaviour of adjtime(),
  7. which seems to try to perform the correction over 100-200 seconds, with
  8. a rate limit of 0.04 secs/sec for large corrections.  Corrections of
  9. less than 0.017 seconds generally complete in less than a second,
  10. however.
  11.  
  12. Some measured rates are as follows:
  13.  
  14.     Delta       Rate (sec/sec)
  15.  
  16.     > 1        0.04
  17.     0.75        0.04
  18.     0.6        0.004
  19.     0.5        0.004
  20.     0.4        0.0026
  21.     0.3        0.0026
  22.     0.2        0.0013
  23.     0.1        0.0015
  24.     0.05        0.0015
  25.     0.02        0.0003
  26.     0.01        0.015
  27. Strange.  Anyway, since adjtime will complete adjustments of less than
  28. 17msec in less than a second, whether the fast clock is on or off, I
  29. have used a value of 150usec/tick for the tickadj value.
  30.  
  31. Fast clock:
  32. -----------
  33.  
  34. I get smoother timekeeping if I turn on the fast clock, thereby making
  35. the clock tick at 1kHz rather than 100Hz.  With the fast clock off, I
  36. see a sawtooth clock offset with an amplitude of 5msec.  With it on,
  37. the amplitude drops to 0.5msec (surprise!).  This may be a consequence
  38. of having a local reference clock which spits out the time at exactly
  39. one-second intervals - I am probably seeing sampling aliasing between
  40. that and the machine clock.  This may all be irrelevant for machines
  41. without a local reference clock.  Fiddling with the fast clock doesn't
  42. seem to compromise the above choices for tick and tickadj.
  43.  
  44. I use the "ftimer" program to switch the fast clock on when the system
  45. goes into multiuser mode, but you can set the "fastclock" flag in
  46. /usr/sysgen/master.d/kernel to have it on by default.  See ftimer(1).
  47.  
  48. timetrim:
  49. ---------
  50.  
  51. Irix has a kernel variable called timetrim which adjusts the system
  52. time increment, effectively trimming the clock frequency.  Xntpd could
  53. use this rather than adjtime() to do it's frequency trimming, but I
  54. haven't the time to explore this.  There is a utility program,
  55. "timetrim", in the util directory which allows manipulation of the
  56. timetrim value in both SGI and xntpd native units.  You can fiddle with
  57. default timetrim value in /usr/sysgen/master.d/kernel, but I think
  58. that's ugly.  I just use xntpd to figure out the right value for
  59. timetrim for a particular CPU and then set it using "timetrim" when
  60. going to multiuser mode.
  61.  
  62. Serial I/O latency:
  63. -------------------
  64.  
  65. If you use a local clock on an RS-232 line, look into the kernel
  66. configuration stuff with regard to improving the input latency (check
  67. out /usr/sysgen/master.d/[sduart|cdsio]).  I have a Kinemetrics OM-DC
  68. hooked onto /dev/ttyd2 (the second CPU board RS-232 port) on an SGI
  69. Crimson, and setting the duart_rsrv_duration flag to 0 improves things
  70. a bit.
  71.  
  72.  
  73. 12 Jan 93
  74. Steve Clift, CSIRO Marine Labs, Hobart, Australia (clift@ml.csiro.au)
  75.